import { SysMenu } from "./menu";

export namespace SysRole {
  /**
   *
   * @export
   * @interface SysRole
   */
  export interface SysRoleInfo {
    /**
     * 雪花Id
     * @type {number}
     * @memberof SysRole
     */
    id?: number;
    /**
     * 创建时间
     * @type {Date}
     * @memberof SysRole
     */
    createTime?: Date;
    /**
     * 更新时间
     * @type {Date}
     * @memberof SysRole
     */
    updateTime?: Date;
    /**
     * 创建者Id
     * @type {number}
     * @memberof SysRole
     */
    createUserId?: number;
    /**
     * 修改者Id
     * @type {number}
     * @memberof SysRole
     */
    updateUserId?: number;
    /**
     * 系统标识字段
     * @type {string}
     * @memberof SysRole
     */
    systemMark?: string;
    /**
     *
     * @type {string}
     * @memberof SysRole
     */
    roleName?: string;
    /**
     *
     * @type {string}
     * @memberof SysRole
     */
    code?: string;
    /**
     *
     * @type {string}
     * @memberof SysRole
     */
    remark?: string;
    /**
     *
     * @type {string}
     * @memberof SysRole
     */
    status?: string;
    /**
     *
     * @type {number}
     * @memberof SysRole
     */
    sortCode?: number;
    /**
     *
     * @type {string}
     * @memberof SysRole
     */
    dataScope?: string;
    /**
     *
     * @type {Array<number>}
     * @memberof SysRole
     */
    defineScopeOrgList?: Array<number>;
  }
  /**
   *
   * @export
   * @interface RoleMenusInput
   */
  export interface RoleMenusInput {
    /**
     * 主键Id
     * @type {number}
     * @memberof RoleMenusInput
     */
    id?: number;
    /**
     *
     * @type {Array<number>}
     * @memberof RoleMenusInput
     */
    menuList?: Array<number>;
  }
  /**
   *
   * @export
   * @interface RoleResourceInput
   */
  export interface RoleResourceInput {
    /**
     *
     * @type {number}
     * @memberof RoleResourceInput
     */
    id: number;
    /**
     *
     * @memberof RoleResourceInput
     */
    resources: Array<SysMenu.ResourceInfo>;
  }
  /**
   *
   * @export
   * @interface RoleUsersInput
   */
  export interface RoleUsersInput {
    /**
     * 主键Id
     * @type {number}
     * @memberof RoleUsersInput
     */
    id: number;
    /**
     *
     * @type {Array<number>}
     * @memberof RoleUsersInput
     */
    userList?: Array<number>;
  }
  /**
   *
   * @export
   * @interface RoleOrgsInput
   */
  export interface RoleOrgsInput {
    /**
     * 主键Id
     * @type {number}
     * @memberof RoleOrgssInput
     */
    id: number;
    /**
     *
     * @type {Array<number>}
     * @memberof RoleOrgsInput
     */
    orgList?: Array<number>;
  }
  /**
   *
   * @export
   * @interface RoleSelectorOutput
   */
  export interface RoleSelectorOutput {
    /**
     *
     * @type {number}
     * @memberof RoleSelectorOutput
     */
    id?: number;
    /**
     *
     * @type {string}
     * @memberof RoleSelectorOutput
     */
    roleName?: string;
    /**
     *
     * @type {string}
     * @memberof RoleSelectorOutput
     */
    code?: string;
  }

  /**
   *
   * @export
   * @interface RoleResourceInfo
   */
  export interface RoleResourceInfo {
    /**
     *
     * @type {number}
     * @memberof RoleResourceInfo
     */
    id?: number;
    /**
     *
     * @type {Array<RoleResourceInfo>}
     * @memberof RoleResourceInfo
     */
    resources?: Array<SysMenu.ResourceInfo>;
  }
}
